/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package modelo;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import javax.swing.JOptionPane;
import static persistencia.DBManagerPacientes.conexion;
import modelo.Pacientes;
import modelo.MetodosPacientes;

/**
 *
 * @author Mila
 */
public class MetodosPacientes {
    
  
    public Integer getIdPaciente(String n) throws java.sql.SQLException {
        Integer id = null;

        try {
            Statement s = conexion.createStatement();
            String con = "Select id from marcas where id = '" + n + "'";

            ResultSet rs = s.executeQuery(con);

            if (rs.next()) {
                id = rs.getInt("id");
            }

        } catch (SQLException ex) {
            System.err.println("ERROR. DBManager.modMarca(). Error de SQL.");
            throw ex;
        }
        return id;
    }

    public ArrayList<Pacientes> getIPacientes() throws java.sql.SQLException {
        ArrayList<Pacientes> alIng = new ArrayList<Pacientes>();
        Pacientes i;
        //Iterator alIt = alMarcas.iterator();
        try {
            Statement s = conexion.createStatement();
            String sql = "select * from Ingresos";
            ResultSet rs = s.executeQuery(sql);
            while (rs.next()) {
                i = new Pacientes(rs.getInt("CodPaciente"),rs.getString("nombre"), rs.getString("DNI"), rs.getString("primer_apellido"),
                rs.getString("segundo_apellido"), rs.getString("direccion"), rs.getString("poblacion"), rs.getInt("CP"));
                alIng.add(i);
                
            }
        } catch (SQLException ex) {
            System.err.println("ERROR. DBManager.getMarcas(). Error de SQL.");
            throw ex;
        }
        return alIng;
    }

    public void BuscarPaciente(String e) throws SQLException {
        Statement s = conexion.createStatement();
        String sql = "select * from Pacientes where CodPaciente ='" + e + "' ";
    }


    public void addPaciente(Pacientes p, Pacientes d,Pacientes n, Pacientes pa,Pacientes sa, Pacientes dir, Pacientes po, Pacientes cp) throws java.sql.SQLException {
        try {
            Statement s = conexion.createStatement();
            String sql = "insert into Pacientes (Pacientes) values ('" + p.getCodPaciente() + d.getDNI() + n.getNombre() + 
            pa.getPrimer_apellido() + sa.getSegundo_apellido() + dir.getDireccion() + po.getPoblacion() + cp.getCP() + "')";
            System.out.println(sql);
            s.executeUpdate(sql);
        } catch (SQLException ex) {
            System.err.println("ERROR. DBManager.addPaciente(). Error de SQL.");
            throw ex;
        }
    }
  
    public void modPaciente (Pacientes cod_old, Pacientes cod_new, Pacientes dni, Pacientes apellido) throws java.sql.SQLException {
        try {
            Statement s = conexion.createStatement();
            //Integer id = this.getIdMarca(old.getNombre());
            //String sql = "UPDATE marcas SET nombre=('" + news.getNombre() + "') where= ('" + old.getNombre() + "')";
            String sql = "UPDATE Pacientes SET CodPaciente='" + cod_new.getCodPaciente() + "', DNI='" + dni.getDNI() + "', apellido = '" + apellido.getPrimer_apellido() + "' where codPaciente= " + cod_old.getCodPaciente();
            System.out.println(sql);
            s.executeUpdate(sql);
        } catch (SQLException ex) {
            System.err.println("ERROR. DBManager.modPaciente(). Error de SQL.");
            throw ex;
        }
    }

    public void delPaciente (Pacientes p) throws java.sql.SQLException {
        try {
            Statement s = conexion.createStatement();
            String sql = "delete from Pacientes where CodPaciente='" + p.getCodPaciente();
            System.out.println(sql);
            s.executeUpdate(sql);
        } catch (SQLException ex) {
            System.err.println("ERROR. DBManager.delMarca(). Si quiere borrar marca Primero Vacie de Modelos .Error de SQL.");
            throw ex;
        }
    }

     
     

   
//    public ResultSet Consulta(String nombre, String pApellido, String sApellido, String Poblacion, String direccion, int codPostal, int codPaciente, String dni) throws java.sql.SQLException {
//        ResultSet rs = null;
//        try {
//            Statement s = conexion.createStatement();
//            String sql = "Select marcas.marca, modelos.modelo, consumo, emisiones, eficiencias.icono from modelos, marcas, eficiencias where modelos.ID_MARCA= marcas.id and modelos.C_ENERGETICA=eficiencias.C_ENERGETICA ";
//            if (marca != null && !"".equals(marca)) {
//                sql = sql + " and marca = '" + marca + "' ";
//            }
//            if (eficiencia != null && !"".equals(eficiencia)) {
//                sql = sql + " and eficiencias.c_energetica = '" + eficiencia + "' ";
//            }
//            if (emisiones != null && !"".equals(emisiones)) {
//                sql = sql + " and emisiones < '" + emisiones + "' ";
//            }
//            sql = sql + " and consumo < '" + consumo + "' ";
//            System.out.println(sql);
//
//            rs = s.executeQuery(sql);
//        } catch (SQLException ex) {
//            System.err.println("ERROR. DBManagerPacientes.addModelo(). Error de SQL.");
//            throw ex;
//        }
//        return rs;
//    }
}

